package com.atguigu.gulimall.product.feign.fallback;

/**
 * @create: 2024/9/18
 * @author: gyhe10
 * @description:
 **/
// @Slf4j
// @Component
// public class SeckillFeignServiceFallbackFactory implements FallbackFactory<SeckillFeignService> {
//     @Override
//     public SeckillFeignService create(Throwable cause) {
//         return new SeckillFeignService() {
//             @Override
//             public R getSkuSeckillInfo(Long skuId) {
//                 if (cause instanceof FeignException) {
//                     // 远程调用失败
//                     log.error("远程调用 seckill 服务，查询商品是否参与秒杀优惠失败，涉及商品 ID：{}，原因：{}", skuId, cause.getMessage());
//                     return R.error(BizCodeEnum.CALL_OTHER_SERVICE_EXCEPTION.getCode(), BizCodeEnum.CALL_OTHER_SERVICE_EXCEPTION.getMsg());
//                 } else {
//                     // 其他原因导致调用失败
//                     log.error("远程调用 seckill 服务，查询商品是否参与秒杀优惠失败，涉及商品 ID：{}，原因：{}", skuId, cause.getMessage());
//                     return R.error(BizCodeEnum.UNKNOW_EXCEPTION.getCode(), BizCodeEnum.UNKNOW_EXCEPTION.getMsg());
//                 }
//             }
//         };
//     }
// }
